/*
 * Copyright (c) 2025 EasyAdmin
 * All rights reserved.
 *
 * This file is part of the [EasAdmin] project.
 * Unauthorized copying of this file, via any medium, is strictly prohibited.
 * Proprietary and confidential.
 *
 * Author: EasyAdmin ( 1073602@qq.com )
 * Website: https://www.xhxiao.com
 */
package com.easy.module.system.service;

import com.easy.framework.database.service.IService;
import com.easy.module.system.entity.SysDict;
import com.easy.module.system.query.SysDictQuery;

/**
 * 字典类型表 Service接口
 *
 * @author EasyAdmin ( 1073602@qq.com )
 * @date 2025-08-19
 */
public interface ISysDictService extends IService<SysDict,SysDictQuery>
{
    /**
     * 新增字典代码
     *
     * @param dto 字典代码
     * @return 结果
     */
     boolean add(SysDict dto);

    /**
     * 修改字典代码
     *
     * @param dto 字典代码
     * @return 结果
     */
     boolean update(SysDict dto);

    /**
     * 批量删除字典代码
     *
     * @param dictIds 需要删除的字典代码主键集合
     * @return 结果
     */
    boolean deleteByIds(Long[] dictIds);

    /**
     * 校验字典代码称是否唯一
     *
     * @param dictCode 字典代码
     * @return 结果
     */
    boolean checkDictCodeUnique(SysDict dictCode);

    /**
     * 加载字典缓存数据
     */
    void loadingDictCache();

    /**
     * 清空字典缓存数据
     */
    void clearDictCache();

    /**
     * 重置字典缓存数据
     */
    void resetDictCache();

    SysDict getByDictCode(String dictCode);

}
